.TH OPENSCAD 1 "2020.02"
.\" Please adjust this date whenever revising the manpage.
.SH NAME
openscad \- script file based graphical CAD environment
.SH SYNOPSIS
.B openscad
.RI [ options ]
.RI [ file ]
.SH DESCRIPTION
This manual page documents briefly the \fBopenscad\fP command.
.PP
\fBopenscad\fP is a software for creating solid 3D CAD objects. It focuses on
CAD aspects rather than artistic ones.

OpenSCAD will start as a graphical program unless export options are given (see
below). For the usage of the GUI and a description of the OpenSCAD language see
the OpenSCAD user manual at https://en.wikibooks.org/wiki/OpenSCAD_User_Manual.
A tutorial can be found at https://en.wikibooks.org/wiki/OpenSCAD_Tutorial.
.SH OPTIONS

.TP
\fB\-o\fP \fIoutputfile\fP
Export the given file to \fIoutputfile\fP in STL, OFF, AMF, 3MF, DXF, SVG,
or PNG format, depending on file extension of \fIoutputfile\fP. If this
option is given, the GUI will not be started.

Known extensions: stl, off, amf, 3mf, csg, dxf, svg, png, echo, ast, term,
nef3, nefdbg.

Additional formats, which are mainly used for debugging and testing (but can
also be used in automation), are AST (the input file as parsed and serialized
again), CSG (an OpenSCAD language representation of the input file with
calculations done and module calls applied), TERM (the constructive solid
geometry expression passed to OpenCSG).  If \fIoutputfile\fP is \fBnull\fP, no
output file will be written, but the file will still be evaluated and all
\fBecho\fP commands will be written to the standard error output. (The
rendering process will still take place if the \fB\-\-render\fP option is
given.)
.TP
\fB\--export-format
Overrides format of exported scad file when using option \fB\-o\fP, arg can
be any of its supported file extensions.
.TP
\fB\-q
Quiet mode (don't print anything except errors)
.TP
\fB\-d\fP \fIfile.deps\fP
If the \fB-d\fP option is given, all files accessed while exporting are written
to the given deps file in the syntax of a Makefile.
.TP
\fB-m\fP \fImake_command\fP
If a nonexisting file is accessed during OpenSCAD's operation, it will try to
invoke \fImake_command missing_file\fP to create the missing file, and then
read it again.
.TP
\fB-D\fP \fIvar=val\fP
This option can be used to assign constant values to OpenSCAD variables. The
variable's value is an expression, so if this mechanism is used to assign
strings, care has to be taken that the shell does not consume quotation marks.
More than one \fB-D\fP option can be given.
.TP
.B \-p
Customizer parameter file.
.TP
.B \-p
Customizer parameter set.
.TP
.B \-v
Print version.
.TP
.B \-\-render
If exporting an image, render the model fully. (Default is preview)
.TP
.B \-\-preview[=throwntogether]
If exporting an image, use an OpenCSG preview (optionally in throwntogether mode for quicker rendering).
.TP
.B \-\-view[=axes|crosshairs|edges|scales|wireframe]
View options
.TP
.B \-\-csglimit=limit
If exporting an image as an OpenCSG preview, stop rendering after encountering \fIlimit\fP elements to avoid runaway resource usage.
.TP
.B \-\-camera=transx,transy,transz,rotx,roty,rotz,distance
If exporting an image, use a Gimbal camera with the given parameters. 
Rot is rotation around the x, y, and z axis, trans is the distance to 
move the object in the x, y, and z directions, and distance is the 
distance between the camera and the center of the object.
.TP
.B \-\-camera=eyex,eyey,eyez,centerx,centery,centerz
If exporting an image, use a Vector camera with the given parameters. 
The first three are for the Eye position, while the next three are for 
the Center (or target) that the camera will look at. The 'up' vector is 
not currently supported.
.TP
.B \-\-viewall
If exporting an image, adjust camera distance to fit the whole design in the frame
.TP
.B \-\-autocenter
If exporting an image, center the design in the frame
.TP
.B \-\-imgsize=width,height
If exporting an image, specify the pixel width and height 
.TP
.B \-\-projection=[o|ortho|p|perspective]
If exporting an image, specify whether to use orthographic or perspective 
projection
.TP
.B \-\-colorscheme=\fIscheme
If exporting an image, use the specified color scheme for the rendering.
\fIscheme\fP can be any of \fBCornfield\fP, \fBSunset\fP, \fBMetallic\fP,
\fBStarnight\fP, \fBBeforeDawn\fP, \fBNature\fP or \fBDeepOcean\fP
\fBSolarized\fP, \fBTomorrow\fP, \fBTomorrow 2\fP, \fBTomorrow Night\fP,
\fBMonotone\fP.
.TP
.B \-\-hardwarnings
Stop on the first warning
.TP
.B \-\-check-parameters=[true|false]
Configure the parameter check for user modules and functions
.TP
.B \-\-check-parameter-ranges=[true|false]
Configure the parameter range check for builtin modules
.TP
.B \-\-info
Show which versions of libraries were used to compile the program, and which
OpenGL details are discovered.
.SH COMMAND LINE EXAMPLES
.PP

Render example001.scad into the .stl format (raw triangle data):
.PP
.B openscad -o example001.stl examples/example001.scad
.PP
Compile a 2d image using a camera rotated 25 degrees in x and 35 in z, 
distance 500, with orthographic projection:
.PP
.B openscad -o o.png o.scad --camera=0,0,0,25,0,35,500 --projection=ortho
.PP
Set the 'mode' variable in example017 so that it will render only the 
parts of the shape. Export to a .dxf file.
.PP
.B openscad -o example017.dxf -D'mode="parts"' examples/example017.scad

.SH AUTHOR
OpenSCAD was written by Claire 'Clifford' Wolf, Marius Kintel, and others.
.PP
This manual page was written by chrysn <chrysn@fsfe.org>,
for the Debian project (and may be used by others). Updated by 
the OpenSCAD team.
